Skip to main content

Full text of "CATS"

See other formats


CAPITOL AREA TIMEX/SINCLAIR. 
USERS GROUP :Formerly 
Prince George's 
Timex/Sinclair User's Group 


NEWSLETTER 


Apri! 1?85 

Vol. 3, No. 1 
+ + + CONTENTS + * + 
President's Column 1 File Maintainance if 
My Word 3 QSL Card 12 
Spectrum Feedback 4 Thoughts We've Had 13 
Dr a Monitor 5 Fat Characters 14 
SP 5 Reply to Stew 15 
Tasword Review 2, Amortize 1000 15 
Inside the Machine 8 Double Precision 17 
Menu Subroutine 19 Renumbering GOTOs 18 
Joystick 1/0 и 


PRESIDENT'S COLUMN 
Writing For the ‘Letter 


Опсе again, articles are coming in from a variety of 
sources, Not al! of them made it into this issue, but I’m 
standing behind my policy of printing everything that's 
submitted by members. 1f you don’t see it in this issue, 
look for it nex! month. Another newsletter said; "If you 
don't see your article, you probably didn’t write оле!" Once 
again, anything you've got is fine - especially REVIEWS, 
or short to medium length programs. 


Future Business 


The CATS library is here! We have а tape of public 
domain 2868 programs that will be available at the next 
meeting. The programs run fron simple graphics demos tc Ned 
Beeler's mailing 1154 program. 14 you want a copy, bring 
your recorder, patch cord, ало a 248 or 98 tape to the next 
meeting, and some cooperative member will oversee the use of 
the tape to tape duplicating equipment. Right now, we can 
make three dups at once, but that probably can be expanded, 

If you have programs to donate, bring them to the next 
meeting also, and we^!] compile them for the one after that. 
Public Domain means homebrew programs, and those that have 
been typed in from magazines. 


The ‘Executive’ Committee 

I’ve been hosting a meeting of interested club members, 
every Monday evening at 7:38, We generally end up with a mix 
of club business and individual problems or triumphs. 


Last week, Tom Bent came and demonstrated his nethod of 
nodifying the 1888 for faster 1.040199, His method is 
somewhat original - he uses nippers to lop off the upper 
half of the filter cap (C11) on the mic output, He also had 
à nunber of other ways to prune your 2868 for better perfor- 
mance; for stronger SAVEs on the 2868, clip C 18; for more 
sensitivity on LOAD, change R 12 from 4.9K to 1.8K. 

This week, Murray Barasch brought a program he was 
trying to debug, and we got it going, as well as polishing 
up the newsletter for the printer. 

Everyone is invited to these meetings - if you've got 
time, come on down! 

Errata 2 

The IRSCALC progra last month was a great way to get 
that ol’ 1848 done, except that severa! of the formulas I 
listed were wrong. The correct ones are: 


Fé 
E9 
FLi 
F28 


В87%287%007%Е0? 
I07*J07*K07*L87*M07 
T07*U874U874407 
H11*111 


Last Meeting.... and Next. 

The March meeting went very well. Tom Bent showed an 
adapter to use joysticks with Spectrum programs, and Mike 
Cohen demo’d his baby MacIntosh. Next month... is up in the 
air, as usual. I’m hoping to get a QL, but no pronises. If 
you've got something to show, to the whole group or just a 
portion, jet me Know and we'i] make room, We may hold an 
advanced seminar on the Timex hardware on the day following 
= details to be announced. 


See you there! Marve ٣ح‎ 


Mention 


SPECIAL INTEREST 
ACTIVITIES 


At the last meeting, seven to eight people 
indicated interest in each of two activities: 
MACHINE CODE (cr assembly language) and 
BUSINESS and INVESTMENT applications. 

John Conger will again lead the applications group 
and is devising a topics schedule. Fisher, Conger, 
Bent and others are devising a curriculum and 
selecting text materials for the machine language 
course. 


All those who signed up will be contacted before 
the programs jell to assure suitable direction and 
level to meet member's interests. Others 
interested may sign up at the April meeting and we 
expect to get going on a regular basis in mid 
April. Anyone with suggestions for either group 
can call Conger or Fisher in the evenings. Conger: 
654 5751; Fisher: 589 7407 


9%%9%9%999%9%0Ұ%7%997У9%999999999%9996 


SUBMISSIONS for this newsletter are eagerly 
solicited. First priority will be given to 

member's submissions. Publication of material does 
not transfer rights from the author, in fact, it 

may establish priority. 


Submissions may be reviews, articles on 
applications, programming techniques, hardware, or 
anything else you can imagine. Pertinent articles 
*rom other publications will also be considered. 


Bring material to the meeting, or send it to PO 
box 725, Bladensburg, MD 20710. I would prefer 
material to be typed, single spaced, in 3%" columns 
- but don't break your back: the Xerox dosen't 
really care. Printouts from the 2046 printer are 
fine, but, use Radio Shack paper, and don't put 
scotch tape over the printing. 


Permission is hereby granted for reprints of 


articles in nonprofit user group newsletters. 
Please give credit to CATS and the author. 


IMPORTANT DATES: 


Newsletter аЛ Meeting 

April 13 
April 19 May 11 
May 17 June 8 
June 17 Ішуіз 
See you there! 


1945 


x 


WHITE.) 


AD RATES CATS NEWSLETTER 


` FULL PAGE $100 294 570 1080 
HALF PAGE 55 161 313 5% 
QUARTER PAGE 30 88 171 324 
Business CARD 15 453 81 155 


(7" WIDE BY 10" LONG MAXIMUM SIZE, 
CAMERA READY MATERIAL 


WE WILL MAIL YOUR ENCLOSURE. READY 

TO MAIL WITH NEWSLETTER, WE WILL 
CHARGE ACCORDING TO SIZE OF ENCLOSURE, 
ASK US FOR QUOTE AND NUMBER NEEDED, 
(8.5" x Ц” sizE-$25 PER ISSUE.) 


х ж IK 


IN BLACK AND 


CATS ROSTER OF OFFICERS 


President 
Vice President 


2nd Vice Pres. 


Secretary 


Treasurer 


Mark Fisher 
Mike Cohen 
Wayson Lee 
Bob Curnutt 


Sarah Fisher 


Newsletter Team 


Production Editor: 
Sarah Fisher 
Manuscript Editor 
Mark Fisher 
Post Office liason: 
Jules Gesang 
Writers: 
Anne Andersen 
Anon. 


RESOURCES 


Tony Brooks 
John Conger 
Lamont Downs 
Mark Fisher 
Sarah Fisher 
Bob Lussier 
Mike Morris 
Roald Schrack 
Vernon Smith 
Stew Vance 
Bill Ware 


dust one publication this month, a tried and true 


Journal, and still going strong. 


QZX (HAM radio & Sinclair computer) 2/2:00 


Alex Burr 
2025 O'Donneil Dr. 


2 Las Cruces, NM 88001 


My WORD 


THE COMPUTER ENTREPRENEURS 


By Levering, Katz & Moskowitz 


In its start-up years, the automobile industry had hundreds of back yard 
tinkerers bolting metal together to build a motorized vehicle that would make 
their fortunes. We Know of Henry Ford and Walter Chrysler, but who remembers 
the contributions (let alone the names) of the many others? This book makes 
the laudabile attempt to profile the Personal Compuer industry at its start, 
before the shake out that is expected to reduce the hundreds now active to the 
dozen likely to survive. 


Sixty fiue entrepreneurs are sketched in brief biographies and some data that 
tell us where they came from and how they failed or made millions - or both. 
Not just computer designers and software wizards are covered. The contents 
give almost equal space to peripheral providers like Hayes modems and Tandon 
disk drives; Shopkeepers like Millard, the first compter billionaire and owner 
of ComputerLand; information moguls like Brunnell of PC World and Wilkins of 
CompuServe; moneybags and gurus like Rock, McKenna and venture capitalist 
Perkins. One Japanese is covered although a sepa ate book would be required 
for the hundreds active there. 


As a reference source of "who done it", it is useful for those of us who like 
to follow industry developments. However, it is marred by two flaws, the main 
one being who is left out and the second being the lack of dates when many 
signifiant events occurred. 


Those who have read Fire in the Valley will have a more complete picture of 
the flow of history than can be presented by the 65 biographies in the subject 
book. The Computer Entrepreneurs does not include (or gives only passing 
mention to) Ed Roberts who really started it all with his Altair 8088 kits. 
And the information moguls section omits Les Solomon, technical editor of 
Popular Electronics (now Computers and Electronics). These two men gave the 
personal computer its start. Another missing name is Robert Noyce of Intel who 
produced the 8888 chip and some computers using it, before the Altair. The 
compters were for his stable of programmers, like Gary Kildall, to use in 
their work. The names of these men are not highlighted as I feel they should 
be. And of course Sinclair is not mentioned at all. 


Still, the stories that are told are facinating: Tramiel, a Polish survivor of 
Auschwitz who built a typewriter repair shop into Commdore; Mitch Kapor the 
transcendental meditation teacher who saw his Lotus 123 program humble 
Visicalc; Phillip Hwang the Korean immigrant dishwsher now worth half a 
billions; and of course the career highlihts of well Known personalities such 
as Steve Jobs, George Morrow, Andrew Kay, Adam Osborne; Bill Gates and George 
Tate. 


This book turns out to be more of a "people" book than the industry profile it 
set out to be. AS such it has much interesting human interest content, 
although it also has many holes in it due to the chosen format. 


All in all, if you have read Fire in the Valley then you have read much of the 
material covered here, and "Fire" is the more complete and competent history 
of the industry as well as providing more depth and color to the characters 
involved, 3 


MORE SPECTRUM FEEDBACK, #1 


Listed below are a number of 
on the 2468 with sn Emulator. Tk 
bed ch. but I make no Promis 
mulaticon wi h superb 3 


rum Prosa 
zhould run 


'aPhics 


Arcade samPlen.-Threg simPle arcade Games. 
Mar of the Worlds. 

Sabre Mulr.-V 
The fall of Ё 
Football manager, ~ 
Bing Arthers 
Battlecars. 

HPacal 
Selec 

Gate. Space I x 
Defense: Pool. Tran 
Deus Ex Machina. 


f 1904 in Ш.К. 
he Roman EmPire for 
cer team, 

Yet another adventure Game, 


ounds CHunchback. SPectre 
ir Мітры i i 
n Meteor 
Comes with matching music tare. 


.-This tafe includes a word P 


idsheet » 
not run 


OCEAN рге 
database. and grathies Plotter. The word Processor will 
using an Emulator. 


I've seen a Great deal of nonsense in Print 
will run only Bay of 5 


imate is at least 95%. 


bout the Emulator 
um software., This 


I bus all chrom software direct from England. Most 
British softia uPPliers will send tapes direct to the U.S.A. 
for cost Plus 1 or 2 Pounds extra Pos е. Just look in 
magazines such ғ ComPutins and Sinclair User. All sou need 
to do is quote sour credit card number. The cost advantage is 
obvious. most SPectrum software costs 3 to 18 Pounds compared 
with $28 and uF in the U.S.A, 


Regards. 
Tons Brooks 


This letter was done usina Macript adapted to drive the 
interface. The Printer used was a Gorilla-Banana. 


MORE SPECTRUM FEEDBACK, #2 


I 


dere. Oh cffc mE MOM шш mm 


Б 

т 
NOTA DMA TI ENO OOM cr 
KINO Hw Deeg pea xam 


: Rstronose 
4 (443 Delta Wins continued on р.5 


DRIVING A MONITOR 
‘From the T/S 1000 


The Т/5 1000 was designed to produce useable 
results on a standard TV. Its display was limited 
to 32 character 5, partly to ensure that the 
letters were still legible. They are larger, but 
if you spend a lot of time in front of the set, 
the blurriness of the standard TV screen can be 
wearing. The fault lies in the circuits of the 
reciever. A standard TV is designed to create a 
pleasing image from 6 feet - while at 18 inches, 
the features are often blurred. 

A monitor, on the other hand, has been 
designed іс produce a crisp image up close. 
Unfortunately, the average moniter requires a 
different signal than a standard TV, and the 1000 
does not offer a suitable output. Like many other 
things with this machine, this can be changed! 
The correct signal is present, but is too weak tc 
drive a monitor. The mod invclves making three 
solder connections within the machine, to add a 
one transistor amplifer for the signal. 


The Mod... 
Materials required are: 


2N222 Transistcr (Radio Shack sells these, but 
theirs are of variable quality. A Motorola 
version will have a higher gain and a crisper 
output than the average Radio Shack 
specimen.) 

33 N, 1/4 watt resistor 

100 ft, 1/4 watt resistor 

ІМ914 glass diode. Don't worry about the precise 
part number - ali those little fellers are 
about the same. 

A panel mount RCA Jack (ex. Radio Shack 274-346) 


The circuit can be put almost anywhere. There 
is room to fit it inside the modulator without 
affecting its operation, thus leaving an 
uncluttered machine, & the option of either TV or 
monitor output. It involves drilling holes very 
near to some resistors in the modulator, but I 
think that the results are worth it. 

To install the circuit, first remove the ULA 
and 286 chips, and store them in aluminum foil (to 
protect against static electricity). Next, 
carefully drill the 1/4" hole for the jack, and 
the 1/16 hole for the signal line. Solder up the 
assembly outside the case, and install it, being 
careful not to leave any solder where it shouldn't 
be. Carve the case to fit the new jack, insert the 
chips, and enjoy! 


hole, cane Y 


case Lo clear) 


continued from p.4 
(45) Eddie Kidd 
(463 ман JONG 
471 River Raid 
(45) Black Cryst 
149) Address Man 


2: 
мы //- -------- 


continued on p.9 


dump Challenge 


al 
ager 


150) TUBECUBE (2D Rubik ’s Cube! 


151) The HOBBIT 


159) Onnicalic II 
(68) Super Re-Nu 
(611 Supercode II 


i68) Spectrograp 
(63) Superchess 
(643 Zombie Говь 

SD Ant Atta 


Я few Spect 
at would not R 


(4) Eights 
(5) Uagan Attack 


TSUG Vancouver 


mber 


hics 

3.8 

ie (sequel to 
tk) 


rum progra 
UN on the R 


PURSE 


R. Lussier 
MEMBER 


For 2068 Users Only: DRESS UP YOUR GANE PROCRRHS WITH A SPLASH OF COLOR 


by Lamont Downs 


Here's a short program that you can merge with almost any 
game-type program and which enables you to change the paper 
color of the entire screen in a flash WITHOUT AFFECTING ANYTHING 
ELSE ON THE SCREEN. For example, if you've got a spaceship 
traveling across a black sky you can cause the entire sky to 
flash red for an instant and then back to black without 
erasing anything or changing any of the ink colors - and do 
it without having to remember any complicated USRs or even 
line numbers! 

To use, first type in the program below and SAVE it. Then 
LOAD (or type in) the program you want to "decorate." Be sure 
the program does not have a line 1 or any lines from 9970 to 
9989 (if it does, relocate them). Then MERGE the program below. 

Now all you have to do to change paper color anywhere in 
the program is to insert the command GOSUB followed by the first 
three letters of the color (GO SUB blu, GO SUB gre, etc.). 

For example, if you have a blue sky background, you can light 
up the sky witha red flash with the following program 
ine: 

GO SUB red:PAUSE 2:00 SUB blu 
You can create dandy explosions by using sequences of colors 
(red-green-yellow-green-red) etc.). Some moniters will "tear" 
if colors change too quickly, so you may need to experiment 
with the length of the pauses for best effect. And don't 
forget you can throw in sound effects using the SOUND command 
instead of the PAUSE. 

One last warning: until line 1 is executed the machine 
code for changing color is not loaded into memory and the program 
will crash if you try to change colors, so if you're starting 
the program somewhere other than line 1 be sure that you take 


this into account. 
Splash’ 


| PT DNE Sean 103: Роке, стазе, 
1 CLER : З 175: гапа = 
cti ipo 2,2, ме x. M сеа 
9972 Fi z65280 Ti 4: RERD 2883: 6 2 
"n Boke п, Е NEXT 9 8529 Berane E 175: LET randzUS 
4 29980: LET blu=9981: 2 
эзе FE = 992; Per та9=9983: LET 9984 POKE 55288.159: POKE 65290, 
gre=9984: LET cya=9985: LET yet 167: POKE 85292,2398: LET гапа=05 
z9986: LET whi =9987 Я 855280: RETURN 
8975 RETURN 9985 POKE 55233,223: POKE 65290. 
9978 CATA 1,192,2,33,0.88,126,20 167: POKE 55292,2398: LET гапа=05 
3,0,203,0,203,0,119,55,62,0,11.1 R 85280: RETURN = 
85,32,241,184,32,236,201 8986 POKE 55233,153: POKE 65290, 
8880 POKE 65288,159: POKE 65298, 231: POKE 65892,2598: LET rand=U5 
167: POKE 552392,175: LET гапа=05 Я 65280: RETURN " 
R 65280: RETURN 2 POKE 65288,223: POKE 65290, 
R 


8931 POKE 55233,223: POKE 65290, POKE 65292,239: LET randzus 
167: POKE 55292,175: LET гапа=05 
R 65230: RETURN 


65230: RETURN 


TASWORD TWO 


When I was asked to write about the Tasword Two word 
processing program I'd just received from England, my first 
thought was that I lacked the proper background to evaluate the 
program’s merits. I was the guy that spent a week learning to 
operate the company word processor but still writes out 
manuscripts. Give it to a typist. So I faced Tasword with a 
certain amount of trepidation. After using it a while, I have to 
give it a top grade in my book. In writing this article I 
received some unexpected help from Tom Ferrebee’s article in 
Vol. 11 of TS Horizons. I hope Tom won't mind but І have 
reproduced his excellent outline of the system's features. 

The system loads in just under 2 minutes and starts with a 
blinking cursor in the upper left corner of the screen, which is 
64 characters wide. An "information" line at the bottom gives 
the line number and column position of the cursor, tells if 
right justification, word wrap, and the insert mode is ON or 
Off, and, lastly, to push EDIT if help is needed. For first time 
users there is an excellent tutorial that quickly teaches how to 
use the numerous functions of the program. The help screen 
contains a listing of the "normal" mode commands, all of which 
are accessed by holding down one of the shift keys and the 
applicable function key. The second, or "extended" mode, is 
accessed by pushing the symbol and caps shift keys 
simultaneously. These commands are mainly used for formatting 
and some miscellaneous functions. The execution of these 
commands is also different from the normal mode, since once you 
are in the extended mode, you only have to press a single key, 
but the system reverts to the normal mode after the key stroke. 

Tasword differs from MSCRIFT in that it supports a ZX 
printer, as well as a full sized printer utilizing a Centronics 
parallel interface. When you are ready to print using a full 
sized printer, you access the Print screen by using the Stop 
command. You then have the option of defining your graphics or 
using the Epson FX80 character codes which are imbedded in the 
program. This screen is also used to load or save text files. 


TASWORD TWO SPECIFICATIONS 


Screen size 64x22 

Text file size 19,200 

Printers Both 

Inter face Centronics 

Cursor by Letter, word, line, or screen 
Delete by Letter, word, or line 
Margins Left or right 

Block Move or copy 

Search Find or replace 
Wordwrap Yes 

Right justify Yes 

Centering Yes 

Line length 64 

Spacing 1,2,3* 

Tutorial Yes 


My only wish is that Tasword Two had a Tab capability. It 
is a little awkward to have to pound the space bar to get 
paragraph indentations. It is, however, an excellent WP program. 
Now that I've gotten used to it, it's fun to use. Goodby, paper 
and pen! 7 Vernon Smith 


Inside the machine 


For the average computer owner, canned programs 
ог home-brew programs in BASIC will do the jobs we 
had in mind when we bought the computer. At one time 
or another, however, all of us will have a need to 
Know something of the inner workings of our purchase. 
This may be the result of a need to do things that 
BASIC can't do - such as control 1/0 ports to an 
alarm system for example - or it may be a need to 
remove some of the sense of uncontrollable magic from 
the machine. While replaceing this feeling of 
mystery, we willgain an appreciation of at least 
four interlocKing levels of complexity in the 
machine. Starting from the smallest, they are: 

1. The actual hardware: wires and semi- 

conductor switches. 

2. The machine code that controls these 

switches. 

3. The BASIC (or other high level language) that 

lets you easily invoke the machine code, and... 

4. The real world problems that are addressed by 

your programs. 


THE REAL WORLD 

Now let's work backwards through those levels. 
The real world offers an infinite number of 
situations that need some sort of calculation. If you 
need assistance, you go to an expert, who asks you 
questions, then provides an answer. Some canned 
programs operate at this level - they ask you 
questions, you respond, and they provide you with the 
results. 


HIGH LEVEL LANGUAGES 

Over the last 10,000 years, we have developed 
symbolic tools to assist us. These include the 
alphabet and language, and the number system and 
algebra. The real world tools can be adapted to the 
computer. The result is a programming language. It 
uses (in the case of BASIC) English words to describe 
its functions, and algebraic notation to express the 
mathematical operations. [Neither the English, nor 
the algebraic notation conform to the original, "real 
world" standard. They have been modified to 
accomodate the remaining two levels of complexity. 
At this level, numbers are represented as you would 
expect - "16" means ten, while some of the symbols 
are new - such as * for times. Generally, this is a 
self-sufficient level - you needn't look any farther 
when using or programming the machine. Some programs 
Can be so complex as to approach a language 
themselves in flexibility and power - DBII, or even 
VU-CALC are examples. 


MACHINE CODE 


The third level, machine code, is the level that 
actually controls the central processor. In the Timex 
there is an extremely complex program of 8192 steps 
that is responsible for the operation of the 
computer, as well as the interpretation of any BASIC 
program that might be present. These are two very 
different jobs, and in other computers they are 
performed by two different programs. 

The first job is that of an operating system. 

This portion coordinates the various elements of 
hardware, allowing for display, printouts, loading, 

and saving of data. The second portionis the BASIC 
interpreter and editor. This is the "brain" that you 

are fighting as you try to avoid the dreaded inverse 
"5", This interpreter can be replaced: for example, 

the egregious BASIC that comes with the Commodore can 
be replaced with a much more efficient version 
(though it's still not as compact as Sinclair 
BASIC). 

At this level, numbers are represented in 
whatever way is most convenient for the program. In 
its reports to the display file numbers are expressed 
as decimal numbers, but for its own use, there are 
four different methods of expression - each used when 
most appropriate. It is possible to write your own 
programs. in machine code. It requires extensive 
knowledge of these deeper levels of the computer, but 
also offers enormous freedom and speed. You can make 
the computer execute machine code by using "USR nnn", 
where nnn is the starting address of the code. 


HARDWARE 
Numbers as Voltage 

In this deepest level all information is in the 
form of electrical potential. A +5 volt signal might 
represent a "one", while a ground level might 
represent a "zero", This might seem very limiting; it 
is. Single lines carry information around the 
computer, controlling the timing and operation of its 
"hidden" accessories. But there isn't any way to have 
an individual line for each possible number. Rather, 
there are two groups of lines, Known as busses, that 
carry numbers, These busses are organized as sets of 
eight lines. The first bus is the data bus; it 
consists one set of eight. (The second bus is the 
address bus - we will get to it ina moment.] There 
are 256 different possible patterns of voltage in 
these eight lines, ranging from "00000000", 
"00000001", "00000010", "80000011",... to "11111111", 
This group of eight is called a byte. To express a 
number larger than 255, you need a second byte. With 
two bytes, you have 2564256 possible numbers, or 
65536. This is where the magic 64K number comes from. 
(each К-2%2%2%2%2%2%2%2, or 1024) 


The "Real" Computer 


Now that we have a way to express numbers 
electrically, we need to have some device that win 
perform operations with these numbers, such às 
addition. This is the job of the Central Processing 
Unit. Originally, this was a device the size ofa 
refrigerator. In a micro, it’s on a chip, called а 
microprocessor. it is able to take a series of 
numbers from the memory (the machine code) and use 
them as instructions, controlling the actions of the 
rest of the computer, as well as performing simple 
arithmetic and logical steps. 

The CPU has a very few locations to hold 
numbers, ready to be used. These locations are called 
registers, Each register, and the controlling logic 
that goes with it, are composed of networks of 
transistors. In the 288, data is handled in спе byte 
units. Other chips use two bytes (16 bits) or four 
bytes (32 bits) for data. 

For each byte of machine code that must be 
executed, the CPU must perform a number of discrete 
steps. These steps are held as mi! ocode, which is 
yet a deeper layer of operation. Since it is common 
to all 780 CPU chips and cannot be changed, we can 
ignore it. 


Storage 

Acomputer muststore many more numbers than 
could possibly be held in registers, however. To 
store these numbers, the computer has additional 
chips. These form a series of banks of eight 
Switches, Each bank can hold one number, between 6 
and 255. Each bank has a unique address. (You can 
look at each bank from BASIC. Try the first bank 
with address zero. "PRINT PEEK @" should give 211) 
These banks are called up through the second bus, the 
address bus. Since our computer needs more than 256 
spaces to store numbers, the address bus is two 
bytes wide, allowing 64K different addresses. (Not 
all these addresses must be used.) 


Methods of Storage 
ROMs 

There are three ways of physically building 
these banks. They can be Jumpers, capacitors, or 
transistor networks. Banks of jumpers are called 
ROMs. Numbers are stored as a pattern of connections 
- intact lines will allow the voltage to build up to 
+5У, while open circuits leave the line at @V. These 
patterns can only be created in in a factory - as far 
as you are concerned, they are Read Only Memory. This 
is ideal for a program that always must accompany the 
machine, arid that is why the Timex comes with its 
operating system in ROM. These can never be erased. 


EPROMs 

Capacitors can be loaded with numbers at will, 
by applying the correct voltage. Once loaded, they 
will retain their values for at least ten years, 
unless they've been erased. Memory chips with 
capacitors are called EPROMs (Eraseable, Programmable 
Read Only Memory). These chips are often used in 
small production devices, such as interface boards. 
These can only be erased with great difficulty, and 
then, all information on the chip will be lost. 


RAMS 

Both devices above are somewhat like engraving 
in granite. It would be nice to have something more 
like a blackboard that would retain the information 
until it was specifically erased. The answer is the 
RAM. This is composed of transistor networks that 
will stay in an "on" state until specifically turned 
“of#", This is the device that holds your BASIC 
programs and other information that can be changed at 
will. Unfortunately, these chips must constantly have 
a supply of +5V to Keep the transistors happy. А very 
shont interruption causes all the banks to return to 
zero. 


This completes cur tour of the levels of the 
Computer. Each level is adapted to dealing with both 
the level above, and the level below. In your 
relations with the computer, you can decide what 
levelis most appropriate, from the most general 
canned program, to the most detailed hardware level. 
Fortunately, the computer is an amazingly forgiving 
device. Except for the hardware level, you can't hurt 
the machine with an incorrect command. Your program 
may crash, but the computer will patiently wait for 
you to try again. 


Mark Fisher 


continued from р.5 


45V 


ING or 
(№4148 


toot 


Monitor Amp Schematic 


SULROUTINE TCR MENU SELECTION 
by 


Mrs. Anne U. Andersen 


This subroutine was written for the 


T/S 1000 in the BASIC languare. It 
will also work on the T/S 1500, and 
Probably on many other computers. It 


tay be used to input any single-digit 
number (from zero through nine), 
perhaps after a menu has been printed. 


This subroutine has some advantages 
compared to an INPUT instruction. With 
this subroutine, the user presses only 
one key per character (without pressing 
ENTER). Also, if the user does not 
wish to respond to the prompt, the 
FREAK key may be used to interrupt the 
progran. 


10 ВЕН INPUT SUBROUTINE. 

11 IF INKEYS$<>"" THEN СОТО 11 

12 PRINT AT 21,1;"? 4 

13 LET A$=INKEYS 

14 IF А$="" THEN COTO 13 

15 PRINT AT 21,1;4$ 

16 IF AS<"O" OR A$»"9" THEN СОТО 11 
17 LET I-VAL A$ 

19 RETURN 


Line 11 makes the program wait, if 
necessary, until the system is ready to 
receive a new character fron the 
keyboard. Line 12 prints 4 question 
mark near the lower left corner of the 
screen. It also erases the next five 
spaces, to finish deleting the previous 
value (even if it vas a shifted command 
word). In line 12, I really use an 
inverted question mark -- but this 
printer has no inverse characters. 


The user presses one key (without 
pressing ENTER). Line 13 gets this 
character and stores it in AS. Line l4 


makes the prouras wait until the user 
has pressed a key. Line 15 prints the 
character, and line 16 tests it. 
Re jected characters are erased and 
іспогей, instead of interrupting the 


program with error code "C". 


1e 


Line 17 converts the character to a 
numeric value. Sone prorrams may not 
neec this line. 


This routine was derived from a 
tyrewriter routine in the Timex User 
Manual. Many variations ure possible. 


The location of the 
question mark) could be moved by 
modifying the "21,1" in lines 12 and 
15. Line 16 could be modified to acree 
with a different menu, provided each 
choice is represented by a single 


character. The character need not be 
numeric. 


“cursor” (the 


This routine is not designed for 
entering multiple-character values. It 
is usually best to use an INPUT 
instruction for such values. However, 
it would be possihle to write a routine 
which would accept multiple-character 
values keyed without ENTFR, provided 
the count of characters for that value 
is constant. 


The first word on each line is a 
single-key instruction. In lines 115 
14, and 16, "СОТО" is а single-key 
coumand word, and "THEN" and "OR" 
are shifted sinple-key items. In line 


11, the Ж must be obtained by 
pressing shifted T. In line 12, I 
obtain an inverse question mark by 
pressing, shifted 9 (CRAPHICS) to ret 


the inverse С cursor, pressing the 
normal question marl (shifted C), and 


pressing the shifted 9 араїп to exit 
CRAPHICS mode. In lines 11, 13, 15, 
and 17, to obtain "INKEYS", "AT", and 


"VAL", press FUNCTION (shifted ENTER) 
to get the inverse F cursor first, and 
then press the single-key "word". Line 
16 will occupy 2 lines on your screen; 
that’s normal. (Everything in this 
Paragraph applies to TIMEX BASIC only). 


To use the subroutine, а GOSUR 
instruction is required. GOSUB 10 will 
work on my computer, but I use GOSUB 11 
for efficiency. 


If there are any questions about 
this subroutine, please contact me ut 


Soft Answer, phone (301) 474-7922. 


Iswiiching lines ii and 12 тау improve this. Eg. 


LEARNED ON THE _ 
і PORTS FOR 1/0 


connector cables 


ni i es, just those. 
Liow the reading or 
5 tches. If you want 
г ha o just determine ir. 
a switch closed, Find FEE eis 
l conductors pre t. 
Mith а а ced et mark Elec. in Balteville) 
BINGt all 2053s have pin Э at 
ground; mine does not, so I add- 
ed a jumper from the dock con- 
nector ground to the right side 
Рогі co etor. 
›а s аге rather iow if 


controlled bu a 
am,probably less than 


4iThe port is set for input at 

power up. TO switch to output, 

execute SOUND 7,54, The data 

i by SOUND 14.data. 

back to input mode 

OUND 7,9. To read 
iTi 


depends on 
go high ог 
iif 


u want 


The future is working at 
General Electric | 
y үне seen CT 

d ne is °° 


FOR PERSONAL COMPUTER USERS 


-CASSETTE REINDERS 


І keep running total accounts SAVEd 
on ry ТЄ 1000. (Stock portfolio bal- 
ances, fitness workouts, checkbook 
balances, etc) І hate to SAVE twice, 
If I save but once, every other day, 
l am only out one day if 1 goof. 

But, where is that last day? rencil 
and paper I don't use. hat's a 
computer (even TS 1000) for? І put 
two SAVES on one side of tape, and 
alternate between the two. To remem- 
ber, I tape a strip of fimm paper 

to label part of the cassette fron 
side to side. Then I loop another 
strip around thet, fold flat and tape 
the end. Voila! Slide it fron side 
to side to indicate where the last 
SAVE is (was?) Good for the absent- 
minded. Now all you have to do is 
remerber to rewind to the beginning o? 
the last S.VE so you start in the 
right place. I haven't found anything 
to help me with that. STEW VANCE 


How To Send Your Resume 
via your personal computer. . 


First- Enter your resume onto your disk (it 

should be in ASCII). There should be 

no special characters in the resume 

and each line should have a carriage 

return. Your resume should be no 

longer than 2 pages (100 lines) and "mmm 
should include the position(s) you are 
applying for and the best timesto 

contact you. 


300 Baud (301) 340-4800 
1200 Baud (301) 340-5096 


the бі» V second: Dial our number: 


Third- Type several letter H’s. қ 
Fourth- Enter the user code of GGV44101,GE 


and press "RETURN" on your PC. 


An equal opportunity employer 


Washington fost 3/17/85 І 


[TE 
m 


DRAH 5, 
DRAN O,- 
2.0 


DRAW 8,5 


the on Pinal was 
blue bad news! 


: DRAU 
DRAN B8.-80. DR 
,8: BRA ĝ,-100: 5-5. 
-88,88: DRAW 2,-80: рваў 


5 
070 PLOT 8,18: DRAW 255, 
-58,8: DRAG 3 -15: ы 

a Б 


readabi 
Fength and 
42; Fefrequency іп 


G L 
PRINT HT e.g 
9.22; "AGE: 


DUE RINT "RECEIUER: “HEATH HA- = ce PRINT BT 13,1;"X";RHT 
гвар": PRINT : PRINT “ANTENNA: PSE SSL": RETURN 
Ног-Баіп 58-184 shunt- 12 


еі dipole, 48 feet up." 


Thoughts We Have А11 Had and Never Expre sed 
March 5, 1985 

Dear Mark Fisher: 

Ку first problem is that I seen to be several laps behind in ny knowledge 
of tie 15 problem. Since 2048, spectrum and GL have come upon the Scene, 


i have been unable to come to meetings because of conflicting farily 
schedules on Saturdays (and besides, I'm way over here in Virginia). 


while magazines se 
the 2068, Spectrum, 


to be aule to lzbel their differing articles on 
L, 1000, and 1500 separately and keep them separated, 
it appears that C н ni it What а pilye 
We retarded citizens instrubéions we 
must follow. І use а TS 1000, ani no other, so I have по need to read 
and understand the material on other machines that is not pertinente 
І hactheught I zxuixx could devine between the TS 1000 and 1500 and others 
by tie upper and lower case letters aprearing in the programs, but now 
and then we find that someone has cocied programs on other "word proces- 
sorex" (I think) and failed to honor the difference. 


Could you phtlish a definitive article about the differences between the 
varous models and what can be transferred from one to another? That would 
Lelp à lot. I can't contribute the article as I don't know, and it appears 
that thosem who do know aren't contricuting. Needed is help. 


I use my TS 1000 а lot. I have developed a library of financial calcklatbon 
formulae which now are programs, an? thew help а lot. I also maintain 
day-by-day track of a stock portfolio throukh a program I have written; 
debugged and use althouzh it still needs work and probably always shall. 

I doubt that my use and need will expand beyond the above. fut, I ап 
syrp:thetic to others' problems in cerivinz other uses from the little 
ronster, end F am interested in others§ interests and needs, so I cherish 
the CATS i TTER, and would like to come to meetings. 


Well, best regards, and best of luck. 


Yours, 


Stew Vance 
Р.5. Examples; 
CATS NEIWSLETTE= Marck 1985 


page 11, "from T/S Users Group, ABILESE ТЕХ, Paul Kaserang 

What machine is he talking of? Obviously not 1000, tut 
that line "hen ving a program tc auto RUN by using LI: 
line is а БЕУ" etc., is gob-béde; 
knowledge. 


V? Alsos 
> if your first 
оов to a TS 1000 user withou: specialized 


page 12: "2063 Printing Calcul:tor" line 2: it should work on the Timex 
1000if line 100 is changed." (Changed to what?) I challenge this to work 
with any unstated chance оп a Timex 1000. “Example Line 44 or any other line 
Wrich continues on without a new line after a colon. And, where did that 
їз continued on p.14 


continued from p.13 
vertical arrow сопе from 


in &àine 250? line 940? Enough! Schreck, a volunteer, 


and not to be scorned, can't see teyond the end of his oim nose. i, the 
newsletter editor is perhaps required to be an editor, not & reproüucer. 
"hat's ppinter's job. 

page lh: Ward Seguin's article on F 4t mochine? 


I thought it sas a continuation of the Р. БАТА in foregoing C. TZ Newsletters, 
Жші and for TS 10С0, but hat's t kit End(Upper and lower case) entry cn 
line 70 doing? Writer or editor? 5стео!5 а at fault. 


atmachiney Sure a lot of 


page 15: Ward Seguin's Loan Arortization. 
unfamiliar items for 4 TS 1000 user. 


page lh: "Your?" commentary on Read/DATA б Def FN; “hile this is аё 
to ones who use TS 1000, they have no ге”егеу to what you are talki 
about, as YEAD/DATA are not TS 1020 talk, nor is DEF FN. 


as 


pud 


MIRACLE TIME! 

Fat Characters for your printer and your screen. i REH 
CHARACTER 
I'm happy to announce that that this thing 
WORKS! 


The thing I'm referring to is the accom- 
panying listing, which allows MSCRIPT to work with 


the FAT CHARACTER subroutine that was first А Га в т етт FLASH 
developed by the Triangle Sinclair User's Group. v OADING MSCRI 


PRINT AT 18, 
MSCRIPT uses the 64 column mode of the 2068. 2f 
Normally, this means that each bit is only half as 
wide as normal, putting the character at the limit 
of resolution for the average monitor (and well 
beyond the limit for broadcast TV). 

The following listing creates a new character 
file, with all vertical lines two bits wide. This 


""CODE 
PRINT ат 
"FOR BACK UP" 
MSCRIPT'" 


20,0; “PRESS 
“ENTER TO START 


THEN GO TO 12 
OR INKEYE£E-"B" 


2e 
PRINT RT 


15 С 
сап be used with either the 2040 printer and your BROCK n : SRUE 
normal programs, or MSCRIPT. ; PAUSE 108: = 

To use the routine to get enhanced printouts PREUIND AND LEA 
from your 2046 printer, type in lines 1 to 8, SAVE IFY F г ""COD 
itythen MERGE with the program you'd like to ERIFY ОК” 


enhance. 
To use this with MSCRIPT, type in the full 


listing, SAVE it, then load MSCRIPT CODE. Now, for 


the first time, GOTO 1. The program will stall 


while trying to LOAD MSCRIPT again. BREAK, and 


GOTO 11; then press "b" and create a working 
hybrid word processor. 

In use, the fatter letters are much easier 
to read. Only lower case "m" and "w" are dificult, 
and even they are better than they were. Go for 
it! 

Great thanks are due to the person that 
worked this out. Unfortunately, the author was 
too modest to put his/her name in the first REM 
Statement, and the cover letter was lost. Would 
the real author please stand up? 


Mark Fisher 


14 


ге DELETE H 
21 CLEAR 64767: CL 
Е USR 35864 


AVOIDING THE FUNCTION 
DISPATCHER 


The 2058's function dispatcher 
is intended to give application 
Proarammers access to a number 
or ROM routines, These routines 
be more easily accessed bu 
tali. The 284756542 or 
e 
Appendix A of the 2058 
Manualje.g. service 
routine 26 has the name PARP. 
which according to the Appendix 
if at @Ø@3F3 {hex}. 


Mke Morris 


can 
a direct 
all service routines can 


in 


REPLY to STEW 


You're right on target with a lot of what you 
say, Stew. I think your thoughts are shared by a 
number of other members, І applaud you for having the 
nerve to come out and name the troubles you're 
having. 


1000 vs 2062 vs Spectrum, etc. 


You are right that the CATS newsletter often 
fails to clearly describe the equipment used to 
develop the listings. It can be quite hard to tell 
them apart - and it dosen't need a word processor to 
make itso; just "CAPS LOCK" on the 2048. In my 
defense, I would say that you should consider whether 
you; in fact, have "no need to read and understand 
material on other machines that is not pertinent.” 
You may find that your flexibility and control of 
your 1000 will grow by learning something of the 
Quirks of those other machines, In fact, the Sinclair 
family are quite similar - there are just a few extra 
things to understand, coming from the 1000. 
Translating from other machines can be harder, 
especially when string handling (Sinclairese is much 
easier to use). But hard or easy, learning to adapt 
programs written fram other machines can do wonders 
in expanding your horizons. 

You listed some specific questions at the end of 
your letter; I've got some specific answers, and then 
I'll follow with some genera: principals. 

1. page 11; BEEP isn't a working word for the 1000 - 
405 100К in the manual's index. There isn't any 
“special Knowledge" that can evoke it. Seeing the 
word BEEP should be enough to drop the rest of the 
item. 

2. page 12; The printing calculator piece was written 
for the 2068; translating it to the 1000 involves 
inserting extra lines fcr each colon, and changing 
the PAUSE statements from PAUSE 6 to PAUSE 
4E4,Translation can be a valuable skill, The 
Knowledge you'll need will be useful when dealing 
with programs from a variety of sources. 

3.%5.,раде 14; Ward's article covered general 
qualities of the READ/DATA command. While the 1000 
daesn't have those Keywords, they can be simulated, 
as discussed in my following article. Ward's use of 
trailer data works with my routine as well. My 
READ/DATA article was an abridged recap of an earlier 
article - I can arrange for a copy of the original, 

if you like. If you had punched it in, I think that 

you would have understood what was meant. 

4. page 15; that's right, it's for the 2062. But 99% 

of it can be directly typed into the 1000, and the 
rest is easily adapted. See below. 


Signals that it ain't for the 1000 (and tips for 


translation) 15 


1f you see any of the following, you сап be sure 
that the listing wasn't froma 1000. The suggested 
translations aren't the last word - see item 6. 


i.Multi-statement lines. Cure by writing 
multiple lines. If there is an IF in the line, 
all statements after it will be ignored if it is 
false. Cure by using a succession of IF lines, 
or by jumping to a subroutine. 


2. PAUSE 9. Use PAUSE 4Е4. PLOT is another case 

of identical commands, with different 
parameters: the 2068's screen is 254x175, while 
the 180075 is 44х64. 


3.Lower case. Not infallible - see line 9900 of 
this month's "AMORTIZE". CAPS LOCK on the 2068 
can fool you also. 


4. Apostrophes. The ‘is used in the 2668 to 

drop one line. In last month's PRINTING 
CALCULATOR; multiple PRINTs were used. Use PRINT 
on a seperate line, or ",,". 


5. Funny operators: 7, READ/DATA, DEF FN, VALS, 
STICK, BEEP, DRAW, etc. tis ##. Sometimes the 
others can be imitated by subroutines. READ/DATA 
сап be used on the 1000 as I discussed last 

month. VAL$ can't, but itis rarely used. STICK 

can be replaced by INKEY$. BEEP, SOUND, etc. сап. 
be ignored. CIRCLE and DRAW canbe replaced by 
subroutines (I've got a good machine code DRAW, 

if anybody wants it). 


6. There are probably more, but I can't think of 
them right now. If you readers have any further 
tricks of translation, send them in - they'll be 
printed. 


AMORTIZE for the 1000 


You may find the following program to be of help 
as an example of translation from the 2068 to the 
1000. It is a rework of Ward's Loan Amortization 
program in last month's issue. Since the 2068 
transcends SCROLLs, I had to put them back in the 
program. The other additions were: 


1. Schedule starts on any given month. New 
variable ST. (stolen from Albert Strauss). 


2. Yearly breakouts of interest and principal. 
New variables YI, YP, and YT. 


3. Echo to printer (turn printer off to disable, 
or delete lines). LPRINT lines are set up for an 
80 column printer - if you've got а 2040, make 


10 REM жжж AMORTIZATION *** 
EQUAL PAYMENTS 
20 REM BY Ы SEGUIN, 1985 - TRA 
NSLATED TO T/Si888 BY M FISHER 
38 PRINT 'AMORTIZATION TABLE" 
48 LPRINT "AMORTIZATION TABLE" 
50 PRINT ,, "AMOUNT BORROWED =" 


68 LPRINT "AMOUNT BORROWED ="; 

78 INPUT P 

80 PRINT Р 

90 LPRINT Р 

188 PRINT ,,"NO. OF YEARS TO PA 
Y="; 

118 LPRINT 
E 

128 INPUT Y 
138 PRINT Y 
148 LPRINT Y 

150 PRINT ,,"STARTING AT MONTH 
NO. «(1 TO 12 "; 

168 LPRINT "STARTING AT MONTH N 
0. «1 TO 12) "; 

178 INPUT ST 

188 PRINT ST 

198 LPRINT ST 

200 REM COMPUTE NO. GF MONTHS 
218 LET M-12xY 

228 PRINT ,,"INTREST/YR (8 1/2 
PCT-6.50-"; 

238 LPRINT "INTREST/YR (6 1/2 P 
CT-26.50-"; 

248 INPUT I 

250 PRINT ! 

268 LPRINT I 


"NO. OF YEARS TO PAY 


278 REM MONTHLY INT 
280 LET R-1/(108*125 

298 REM EQUAL MONTHLY PAYMENTS 

380 LET М1=‹1+В> «M 

310 LET E-(P*RXxM1) (CL EROXXM-12 
320 LET Е-СІМТ (Ex100*.52)/108 

330 REM CALC, THEN PRINT 

348 LET TI-8 

358 LET TP-TI 

360 LET SP-TI 

378 LET YI-TI 

380 LET YP-TI 

398 LET YT-TI 

408 PRINT ,,,, 

418 PRINT "MONTHLY PAYMENT -";E 
428 LPRINT "MONTHLY PAYMENT ="; 
E 

438 SCROLL 

448 PRINT "MO PRINCIPAL INTERE 


8 PRINCIPL" 


450 


LPRINT "PAY MO PRINCIPAL I 


NTEREST PRINCIPL" 
4668 
476 

T 
490 


óða 
618 


SCROLL 
PRINT 
PAYMT" 
LPRINT "МО NO 
PAYMT" 

REM THEN PRINT DASHES 


"мо OWED PAYMN 


OWED 


ІЕ 
IF J 
LET I1-(INT 


-P1 
‹11=#1@00@+,5)›/1@ 


LET PI=(INT (Р1#1@@+.5)›/1@ 


SCROLL 


LPRINT J;TAE 4387; TAR OPT 


АВ 28;11;TAB 27;P1 


628 PRINT ST;TAB S:Ps TAB 14;11; 
TAB 25;P1 

63@ REM COMPUTING TOTALS 

648 LET TI=S=TI+It 

658 LET ҮІ=ҮІ+11 

660 LET ТР=ТР+Р1+11 

670 LET YT=YT+Pi+it 

688 LET SP=SP+P1 

698 LET YP=YP+P! 

708 LET P=CINT “(Р-Р12ж108».,599 
2108 

718 IF ST=i2 THEN GOSUB 918 

728 REM YEAR TOTALS 

730 LET ST-ST*! 

748 IF 57=13 THEN LET ST-: 

758 NEXT 2 

758 GOSUB 918 

770 REM COMPUTING SUMMARY TOTAL 
5 

788 LET TI=( INT (Т1%188%.522/18 
Li 

798 LET SP=CINT (SPX*188*,702/18 
a 

888 LET ТР-СІМТ (ТР#100+.5))/19 
@ 

9818 SCROLL 

828 PRINT "TOTAL INTEREST =" {ТІ 

830 LPRINT "TOTAL INTEREST ="37 
I 

848 SCROLL 

858 PRINT "TOTAL PRINCIPAL-";SP 
868 LPRINT "TOTAL PRINCIPAL ="; 


Ei 

878 SCROLL 

880 PRINT "TOTAL PAYMENTS =" ТР 
890 LPRINT "TOTAL PAYMENTS z";T 
P 

yea STOP 

918 REM xxx» YEARLY SUBS x*xx 
928 SCROLL | > 
930 PRINT "YEAR NO. ";INT 4J/12 
2%1;" TOTALS:" 


940 LPRINT "YEAR NO. 
руін" TOTALS:" 
958 SCROLL 

960 PRINT " 

PRINCIPL" 

978 LPRINT " 
T PRINCIPL" 
780 SCROLL 
998 PRINT " 
PAYMT" 
LPRINT " 
PAYMT" 
1810 SCROLL 
1820 LPRINT TAB 3;YT;TAB 14;Y1;T 
ӨБ 22;YP 
1020 PRINT TAB 3;YTiTAB 14;У1;ТА 
В 22;ҮР 
1848 LET Y1-8 
1858 LET Y 
LET YT=¥1 
SCROLL 
PRINT “-------------------- 
SCROLL 
PRINT “MO 
Y PRINC." 
1118 LPRINT "NO MO 
NT. PY PRINC." 
1128 SCROLL 
1136 


"SINT (GL 


TOTAL INTEREST 


TOTAL INTERES 


PAID PAYMNT 


1888 PAID PAYMNT 


BALANCE INT. F 


BALANCE 1 


TF PEEK Х%256%РЕЕК (X+1)>=9 
888 THEN STOP 

9830 POKE X,INT (№256) 

7840 POKE X*1,N-CPEEK X*256) 
9858 LET Х=Х+РЕЕК (X+2)+PEEK (X+ 
3+4 
9868 
9878 
9988 
9918 


LET М=М+1й 

GOTO 9928 

SAVE "AMORTIZe" 
RUN 


سم 


17 


м LPRINT identical to the PRINT line near 
it. 


To simplify the typing, DEF FN could be added by 
adding a line: 

5 LET FS-"INT (Х%100%.52/188" 
and replacing each incidence of the String with two 
lines: ex: 

575 LET X«I1 

588 LET I!1-UVAL FS 

Lines 9000 to 9070 are a quick re-numbering 
utility that I put in to clean up my print out [see 
Hacking in BASIC, this issue]. 


Mark Fisher 


DOUBLE PRECISION 


This code will do "doubie 
Precision" -that is it will take 
ішо G-digit numbers and give a 
i5-digit number. It accompiishes 
is by breaking each S-digit 
num.er into two 4-digit numbers 
and then multiplying them. The 
Products are then suitably re- 
combined. 


5 REM DOUBLE PRECISION 
18 PRINT "Give First number i: 
sS digits)": INPUT a: PRINT a: P 


20 PRINT "Give second 
5:8 digits)": INPUT b: PRINT b: 


PRINT 
LET ahzINT (а/10%4): LET ai 
(а-10%4ғаһ%.1) 
LET ЪҺ=ІМТ (bvi@t4i: LET bl 
fp-10tásbhe.1) 
3@ LET chhzahxbh 
Chlizahzbti 


number i 


LE 


72 LET CHET tthil/i8tà4i: 
LET: chLLI=INT (єһї1-1@14+сһ{Һ1+. 


72 LET сһіһг-іІМТ ichi2/10t4i: 
LET ChIL2-INT ichl2-10táscChih22. 


ӘӘ LET cLihzINT (с11/1@14}: LE 
ELLLZINT (cLi-10t4sCcliha.1i 

i Cl=iOtdechhh+chhi+chiba 
h 

80 LET c2-1üt4sichllischii2aci 
Hehe 
e 
e 


c 

L 

2 IF C2:10t8 THEN GO TO 112 

4 LET сё=1йї&+(їсһї11-5@йй}+‹ 

Le-S@@Gi+cithiect ee 

6 LET с1ссізі. 

"AAI" 

TO 7 

<1@tx) THEN GO TO i22 
x 

PRINT сі; са 

STOP 


c 


LET шӛшіФіх ТО) 
PRINT ci;u$;c2 


Ronls А. Schracit 


HACKING in BASIC 
RENUMBERING INCLUDING GOTO and GOSUB 


There have been several examples of renumbering 
routines that have run in the CATS newsletter over the 
years, They have al! shared а common failing - they 
couldn't alter the GOTOs and GOSUBs. This is a problem 
in BASIC, because all program jumps (GOTO & GOSUE) are 
absolute jumps. The program jumps to a specific line 
number, not a specific number of lines foreward. When a 
program is renumbered, a given number may refer to a 
very different line in the program. 

In thinking about the problem, it seemed that the 
only way to change the GOTOs was via machine code. 
Programs such as this are available, called toolkits. 
But even the best of the toolkit programs can't handle 


renumbering computed GOSUBS, such as GOSUB 500#X+1000. 


Then, a couple of weeks ago, 1 realized that there 


UNCLASSIFIED 


FOR SALE: T/S 266% & Westridge MODEM. 
Cali Richard,Roland, or Constance Roseer 
703-527-3467 or 703-533-2570 


FOR SALE: 2 T/S 2069's, 2 cassette recorders, 2 2046 
printers, + software. Nc reasonable offer refused, Mark 
{no relation}; 548-7615 (Н! 344-5919 (W 


FREE: Excellent catalog. Write Sunset Electronics, 2254 
Taraval St., San Fransisco СА 94116 


FOR SALE: Typewriters - IBM Selectric ! $250 & IBM 
Model C 875,00. No reasonable offer refused. 
301-559-4281. 


MRI books offers a catalog of 1500 computer books 
(including Mastering Machine Code), free. MRI Books, 
Alexandria VA, 549-5537 


is a way to change ALL GOTOs and GOSUBs from absolute 


jumps, to relative jumps. And it's all in BASIC, on 
either the 1000 or the 2068! With relative jumps: a 
block of instructions can be changed from lines 100-300 
to 400-600, while a GOTO that jumps ahead 3 lines (or 
30) continues to work. 


For the 1000: start your program with 


1 LET F$-"PEEK 16391425ó* PEEK 16392" 


After running this line, PRINT VSL ЕФ will return the 


current line number! This takes advantage of the system 
variable PPC, that holds the line number being 
executed. An absolute jump to two lines ahead might be 
written 

28 GOTO 48 

(assuming you are using intervals of ten for each 
line). To change this іс a relative jump to two lines 
ahead, substitute: 

20 GOTO VAL Ғ%%29 

As written, it will GOTO line 46. If it is renumbered 
to line 89, it will GOTO line 100. 

Computed GOTOs are also possible, as in GOSUB VAL 
F$#500+100@. The only time this will fail, is if you 
change the numbering interval, or add a line of code 
within the numbers skipped by the СОТО. Obviously, this 
is more likely for large jumps than small - but it's 
the small jumps that often just can't be avoided. 


For the 2069: the 2068 has a real DEF FN command, and 
this is a perfect place to use it: 


1 DEF FN #¢€)=PEEK 23221+255#РЕЕК 23622 


followed by 
28 GOTO FM #1) +29 

Try this out for yourself - a renumbering program 
is hidden in lines 9000 to 9070 of the AMORTIZER 
program in this issue. 


Mark Fisher 


For parts for all those hardware projects, try: Revacto 
or Heathist in Rockville, Electronics Plus in College 
Park, or Mark [no relation] Electromcs in Beltsville. 


— 


Thoughts on MSCRIPT 


I've used MSCRIPT to write several of the articles 
in this issue. There has been a lot c? learning that! 
had to do. In general, I agree with the review we ran 
last month. There have been some surprises. 


1.14 is more easily used that I feared. I’ve diddled 
with WORDSTAR, and have yet to feel comfortabl 
with it. MSCRIPT is all right. 

2. As it comes, it is hard to read, even on a monitor. 
Fat Characters totally fixes this. 

3, Its tape SAVES and LOADs are its biggest weakness. 
It dosen’t use the standard T/S routines, and will 
not load "". Most importantly, it cannot VERIFY. 
I've already lost several files due to glitches of 
some sort, on good tape. (Learning goes on - 1 
just realized that 1 could use the Append command 
to verify that a file could be reloaded, without 
destroying the original.) 

4. Its operation is smooth. This is а professionaly 
done program, and it shows. It is tolerant of 
variations in commands: LM=9, 1mz9, and 1m? all do 
the same thing. Its HI command (hanging indent) is 
a treasure. I’m using it now. 

5, The manual is easy to read and comprehensive. It 
does not include a command summary for its 
numerous commands. 

Rating: a slightly tarnished эн, 


Capitol Area Timex/Sinclair Users! Group 
P.0.Box 725 
Bladensburg, MD 20710 


Хале 


Address 


ZIP 


Phone Eone Office 


nenbersnips - 315.00 (fanily/individual);make checks parable tc C.A.T.S. 
If family membership, please list family members particinating: 


Occupation 


Ham Radio call sign 


Equipment 
2Х 50 HAM size 
Ка 80 full keyboard 
21 51 Printer 
25 1000 type pe 
25 2200 other interface 


special interesi use for computer: ie, games, han radio interface, 


business, other, etc, 


Languages: Basic Other 


Hachine 


No. of years computer experience 


What committees would you like to serve оп? 


Comments; 


Do not write below: 
Dte Ра, Amt. Membership No. 


Са. Ck, 


19 


SON згох 

тны GbZ'Z 12 @@91 's«*pung***jeN 11412016 үеио!бәм uJé35t3 
SON dt^N ZHW SbE'b] few! pero, "u'd& 's4epsaupamt** 3aN X20 
UOT3*UJOg3U] XJOMi3N біреу шен 


*AJ03Q11 2118nd 
q2ueug чо03|(092е2 мәм әці 30 шооч би: әәш ebuv, sua U! ‘Wd 
Z 3* чачош yore фо AKepunges puodas ayy uo Prey eve s6ut3884 


2920-224%10Е 
1059539 5ЗІПГ $! 6192 20) uossed ұоеучоэ ([*!21440 әчү 


دسل ډډد ۰۶ 

[euosuad фо A\IWE} чіероотсбихәшір əy} noge avow Burusea| U! 

1 рәузаләуи! әле JO “әп tumo Oym asoy} zO 635ә2ә%иі ayy Öurasəs 
оз рәҙесірәр уоіуегічебоо ұбәләҙуиі (#12205 3!40Jd-uOU è 5! 5109 


81202 aw ‘Sungsuepeia 

622 хов “0а 

81625 %,295П 21%|5815/хәші) esse |6%/4е5 
rst 41525 


%Ж;:295 21%|5016/Х9ШІІ FI |5%14%3 əy} 40 SSauppe Óuiieu aut 


никак нта ма келен т кк КЕТЕРІ 


CATS Newsletter 
Р.О. Box 725 
Bladensburg MD 20718 


The next meeting of CATS wi?" be held ол: 
яяя SATURDAY, April 13, 1985 3 2:69 PM 


New Carrolton Public Library 
7414 Riverdale Road, New Carrolton, MD 


IF YOU ARE NOT A MEMBER OF CATS. THIS 16 THE ONLY ISSUE YOU WILL RECIEVE 
Dues = $15.88 per year, per family. 


DATED MATERIAL